package com.yf.exam.modules.tmpl.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yf.exam.modules.paper.dto.ext.PaperQuDetailDTO;
import com.yf.exam.modules.tmpl.entity.TmplQu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 试卷题目Mapper
 * </p>
 *
 * @author 聪明笨狗
 * @since 2021-04-25 13:59
 */
public interface TmplQuMapper extends BaseMapper<TmplQu> {

    /**
     * 根据大题查找题目并安排好排序结构等，用于考生生成试卷用
     *
     * @param groupId
     * @param quRand
     * @param itemRand
     * @return
     */
    List<PaperQuDetailDTO> findForCreate(
            @Param("groupId") String groupId,
            @Param("quRand") Boolean quRand,
            @Param("itemRand") Boolean itemRand);


    /**
     * 根据规则产生试题，用于
     *
     * @param repoId
     * @param chapterId
     * @param level
     * @param quType
     * @param num
     * @param itemRand
     * @return
     */
    List<PaperQuDetailDTO> listWithRule(
            @Param("excludes") List<String> excludes,
            @Param("repoId") String repoId,
            @Param("chapterId") String chapterId,
            @Param("level") String level,
            @Param("quType") String quType,
            @Param("num") Integer num,
            @Param("quRand") Boolean quRand,
            @Param("itemRand") Boolean itemRand);
}
